<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Eigen-unsupported: Eigen::Spline&lt; Scalar_, Dim_, Degree_ &gt; Class Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
  $(document).ready(function() { init_search(); });
/* @license-end */
</script>
<script type="text/x-mathjax-config">
  MathJax.Hub.Config({
    extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
    jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="eigendoxy.css" rel="stylesheet" type="text/css">
<!--  -->
<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="Eigen_Silly_Professor_64x64.png"/></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname"><a href="http://eigen.tuxfamily.org">Eigen-unsupported</a>
   &#160;<span id="projectnumber">3.4.90 (git rev 67eeba6e720c5745abc77ae6c92ce0a44aa7b7ae)</span>
   </div>
  </td>
   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.svg"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.svg" alt=""/></a>
          </span>
        </div>
</td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('classEigen_1_1Spline.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="classEigen_1_1Spline-members.html">List of all members</a> &#124;
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a>  </div>
  <div class="headertitle">
<div class="title">Eigen::Spline&lt; Scalar_, Dim_, Degree_ &gt; Class Template Reference<div class="ingroups"><a class="elRef" href="../group__Geometry__chapter.html">Geometry</a> &raquo; <a class="elRef" href="../group__Geometry__Reference.html">Reference</a> &raquo; <a class="el" href="group__Splines__Module.html">Spline and spline fitting module</a></div></div>  </div>
</div><!--header-->
<div class="contents">
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><h3>template&lt;typename Scalar_, int Dim_, int Degree_&gt;<br />
class Eigen::Spline&lt; Scalar_, Dim_, Degree_ &gt;</h3>

<p>A class representing multi-dimensional spline curves. </p>
<p>The class represents B-splines with non-uniform knot vectors. Each control point of the B-spline is associated with a basis function </p><p class="formulaDsp">
\begin{align*} C(u) &amp; = \sum_{i=0}^{n}N_{i,p}(u)P_i \end{align*}
</p>
<dl class="tparams"><dt>Template Parameters</dt><dd>
  <table class="tparams">
    <tr><td class="paramname">Scalar_</td><td>The underlying data type (typically float or double) </td></tr>
    <tr><td class="paramname">Dim_</td><td>The curve dimension (e.g. 2 or 3) </td></tr>
    <tr><td class="paramname">Degree_</td><td>Per default set to Dynamic; could be set to the actual desired degree for optimization purposes (would result in stack allocation of several temporary variables). </td></tr>
  </table>
  </dd>
</dl>
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:ab50275acd78bf11cc06256177ef85fc5"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="classEigen_1_1Spline.html#ab50275acd78bf11cc06256177ef85fc5a0d75f96e8f63dd03e0f3faba93080b9a">Dimension</a>
 }</td></tr>
<tr class="separator:ab50275acd78bf11cc06256177ef85fc5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0f458c828ffa7648c08825923a835c9d"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="classEigen_1_1Spline.html#a0f458c828ffa7648c08825923a835c9daec63218a96e23a30a26dc839c1d757e1">Degree</a>
 }</td></tr>
<tr class="separator:a0f458c828ffa7648c08825923a835c9d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac09bd329bef9ad9037b64783c76dc0ed"><td class="memItemLeft" align="right" valign="top"><a id="ac09bd329bef9ad9037b64783c76dc0ed"></a>
typedef SplineTraits&lt; <a class="el" href="classEigen_1_1Spline.html">Spline</a> &gt;::<a class="el" href="classEigen_1_1Spline.html#ac09bd329bef9ad9037b64783c76dc0ed">BasisDerivativeType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1Spline.html#ac09bd329bef9ad9037b64783c76dc0ed">BasisDerivativeType</a></td></tr>
<tr class="memdesc:ac09bd329bef9ad9037b64783c76dc0ed"><td class="mdescLeft">&#160;</td><td class="mdescRight">The data type used to store the values of the basis function derivatives. <br /></td></tr>
<tr class="separator:ac09bd329bef9ad9037b64783c76dc0ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abe7f040ac7b8cc85a397e2fbc70bbe00"><td class="memItemLeft" align="right" valign="top"><a id="abe7f040ac7b8cc85a397e2fbc70bbe00"></a>
typedef SplineTraits&lt; <a class="el" href="classEigen_1_1Spline.html">Spline</a> &gt;::<a class="el" href="classEigen_1_1Spline.html#abe7f040ac7b8cc85a397e2fbc70bbe00">BasisVectorType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1Spline.html#abe7f040ac7b8cc85a397e2fbc70bbe00">BasisVectorType</a></td></tr>
<tr class="memdesc:abe7f040ac7b8cc85a397e2fbc70bbe00"><td class="mdescLeft">&#160;</td><td class="mdescRight">The data type used to store non-zero basis functions. <br /></td></tr>
<tr class="separator:abe7f040ac7b8cc85a397e2fbc70bbe00"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7ecc6b3079a98b11ff4843de7791f500"><td class="memItemLeft" align="right" valign="top"><a id="a7ecc6b3079a98b11ff4843de7791f500"></a>
typedef SplineTraits&lt; <a class="el" href="classEigen_1_1Spline.html">Spline</a> &gt;::<a class="el" href="classEigen_1_1Spline.html#a7ecc6b3079a98b11ff4843de7791f500">ControlPointVectorType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1Spline.html#a7ecc6b3079a98b11ff4843de7791f500">ControlPointVectorType</a></td></tr>
<tr class="memdesc:a7ecc6b3079a98b11ff4843de7791f500"><td class="mdescLeft">&#160;</td><td class="mdescRight">The data type representing the spline's control points. <br /></td></tr>
<tr class="separator:a7ecc6b3079a98b11ff4843de7791f500"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7dcb414ba9d2ff74031f5179d9844a4e"><td class="memItemLeft" align="right" valign="top"><a id="a7dcb414ba9d2ff74031f5179d9844a4e"></a>
typedef SplineTraits&lt; <a class="el" href="classEigen_1_1Spline.html">Spline</a> &gt;::<a class="el" href="classEigen_1_1Spline.html#a7dcb414ba9d2ff74031f5179d9844a4e">KnotVectorType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1Spline.html#a7dcb414ba9d2ff74031f5179d9844a4e">KnotVectorType</a></td></tr>
<tr class="memdesc:a7dcb414ba9d2ff74031f5179d9844a4e"><td class="mdescLeft">&#160;</td><td class="mdescRight">The data type used to store knot vectors. <br /></td></tr>
<tr class="separator:a7dcb414ba9d2ff74031f5179d9844a4e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4807ced737f905c7a96a234dfb183258"><td class="memItemLeft" align="right" valign="top"><a id="a4807ced737f905c7a96a234dfb183258"></a>
typedef SplineTraits&lt; <a class="el" href="classEigen_1_1Spline.html">Spline</a> &gt;::<a class="el" href="classEigen_1_1Spline.html#a4807ced737f905c7a96a234dfb183258">ParameterVectorType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1Spline.html#a4807ced737f905c7a96a234dfb183258">ParameterVectorType</a></td></tr>
<tr class="memdesc:a4807ced737f905c7a96a234dfb183258"><td class="mdescLeft">&#160;</td><td class="mdescRight">The data type used to store parameter vectors. <br /></td></tr>
<tr class="separator:a4807ced737f905c7a96a234dfb183258"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a93f2d23a7e85e61a5367a52a37f030ce"><td class="memItemLeft" align="right" valign="top"><a id="a93f2d23a7e85e61a5367a52a37f030ce"></a>
typedef SplineTraits&lt; <a class="el" href="classEigen_1_1Spline.html">Spline</a> &gt;::<a class="el" href="classEigen_1_1Spline.html#a93f2d23a7e85e61a5367a52a37f030ce">PointType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1Spline.html#a93f2d23a7e85e61a5367a52a37f030ce">PointType</a></td></tr>
<tr class="memdesc:a93f2d23a7e85e61a5367a52a37f030ce"><td class="mdescLeft">&#160;</td><td class="mdescRight">The point type the spline is representing. <br /></td></tr>
<tr class="separator:a93f2d23a7e85e61a5367a52a37f030ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad8de21b38f173d2bb607e6b2e0f26ce5"><td class="memItemLeft" align="right" valign="top">typedef Scalar_&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1Spline.html#ad8de21b38f173d2bb607e6b2e0f26ce5">Scalar</a></td></tr>
<tr class="separator:ad8de21b38f173d2bb607e6b2e0f26ce5"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a4efb72a9640724ccc934bf70adc1153c"><td class="memItemLeft" align="right" valign="top">SplineTraits&lt; <a class="el" href="classEigen_1_1Spline.html">Spline</a> &gt;::<a class="el" href="classEigen_1_1Spline.html#ac09bd329bef9ad9037b64783c76dc0ed">BasisDerivativeType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1Spline.html#a4efb72a9640724ccc934bf70adc1153c">basisFunctionDerivatives</a> (<a class="el" href="classEigen_1_1Spline.html#ad8de21b38f173d2bb607e6b2e0f26ce5">Scalar</a> u, DenseIndex order) const</td></tr>
<tr class="memdesc:a4efb72a9640724ccc934bf70adc1153c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the non-zero spline basis function derivatives up to given order.  <a href="classEigen_1_1Spline.html#a4efb72a9640724ccc934bf70adc1153c">More...</a><br /></td></tr>
<tr class="separator:a4efb72a9640724ccc934bf70adc1153c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4bbd1e5972b459ef5e994611ad2a2fea"><td class="memTemplParams" colspan="2">template&lt;int DerivativeOrder&gt; </td></tr>
<tr class="memitem:a4bbd1e5972b459ef5e994611ad2a2fea"><td class="memTemplItemLeft" align="right" valign="top">SplineTraits&lt; <a class="el" href="classEigen_1_1Spline.html">Spline</a>, DerivativeOrder &gt;::<a class="el" href="classEigen_1_1Spline.html#ac09bd329bef9ad9037b64783c76dc0ed">BasisDerivativeType</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classEigen_1_1Spline.html#a4bbd1e5972b459ef5e994611ad2a2fea">basisFunctionDerivatives</a> (<a class="el" href="classEigen_1_1Spline.html#ad8de21b38f173d2bb607e6b2e0f26ce5">Scalar</a> u, DenseIndex order=DerivativeOrder) const</td></tr>
<tr class="memdesc:a4bbd1e5972b459ef5e994611ad2a2fea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the non-zero spline basis function derivatives up to given order.  <a href="classEigen_1_1Spline.html#a4bbd1e5972b459ef5e994611ad2a2fea">More...</a><br /></td></tr>
<tr class="separator:a4bbd1e5972b459ef5e994611ad2a2fea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeaec16e89270af47114e685289ff10a1"><td class="memItemLeft" align="right" valign="top">SplineTraits&lt; <a class="el" href="classEigen_1_1Spline.html">Spline</a> &gt;::<a class="el" href="classEigen_1_1Spline.html#abe7f040ac7b8cc85a397e2fbc70bbe00">BasisVectorType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1Spline.html#aeaec16e89270af47114e685289ff10a1">basisFunctions</a> (<a class="el" href="classEigen_1_1Spline.html#ad8de21b38f173d2bb607e6b2e0f26ce5">Scalar</a> u) const</td></tr>
<tr class="memdesc:aeaec16e89270af47114e685289ff10a1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the non-zero basis functions at the given site.  <a href="classEigen_1_1Spline.html#aeaec16e89270af47114e685289ff10a1">More...</a><br /></td></tr>
<tr class="separator:aeaec16e89270af47114e685289ff10a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5d2ad0ae36a74b9ee6c47565fee46d5d"><td class="memItemLeft" align="right" valign="top"><a id="a5d2ad0ae36a74b9ee6c47565fee46d5d"></a>
const <a class="el" href="classEigen_1_1Spline.html#a7ecc6b3079a98b11ff4843de7791f500">ControlPointVectorType</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1Spline.html#a5d2ad0ae36a74b9ee6c47565fee46d5d">ctrls</a> () const</td></tr>
<tr class="memdesc:a5d2ad0ae36a74b9ee6c47565fee46d5d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the ctrls of the underlying spline. <br /></td></tr>
<tr class="separator:a5d2ad0ae36a74b9ee6c47565fee46d5d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a099e9ac2cfbba7fc880e1e89081bd3cf"><td class="memItemLeft" align="right" valign="top"><a id="a099e9ac2cfbba7fc880e1e89081bd3cf"></a>
DenseIndex&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1Spline.html#a099e9ac2cfbba7fc880e1e89081bd3cf">degree</a> () const</td></tr>
<tr class="memdesc:a099e9ac2cfbba7fc880e1e89081bd3cf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the spline degree. <br /></td></tr>
<tr class="separator:a099e9ac2cfbba7fc880e1e89081bd3cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0d44b217fc9517d0f572e9b8e40b3df6"><td class="memItemLeft" align="right" valign="top">SplineTraits&lt; <a class="el" href="classEigen_1_1Spline.html">Spline</a> &gt;::DerivativeType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1Spline.html#a0d44b217fc9517d0f572e9b8e40b3df6">derivatives</a> (<a class="el" href="classEigen_1_1Spline.html#ad8de21b38f173d2bb607e6b2e0f26ce5">Scalar</a> u, DenseIndex order) const</td></tr>
<tr class="memdesc:a0d44b217fc9517d0f572e9b8e40b3df6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Evaluation of spline derivatives of up-to given order.  <a href="classEigen_1_1Spline.html#a0d44b217fc9517d0f572e9b8e40b3df6">More...</a><br /></td></tr>
<tr class="separator:a0d44b217fc9517d0f572e9b8e40b3df6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a401666a79915d8b1c336bd89557a7202"><td class="memTemplParams" colspan="2">template&lt;int DerivativeOrder&gt; </td></tr>
<tr class="memitem:a401666a79915d8b1c336bd89557a7202"><td class="memTemplItemLeft" align="right" valign="top">SplineTraits&lt; <a class="el" href="classEigen_1_1Spline.html">Spline</a>, DerivativeOrder &gt;::DerivativeType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classEigen_1_1Spline.html#a401666a79915d8b1c336bd89557a7202">derivatives</a> (<a class="el" href="classEigen_1_1Spline.html#ad8de21b38f173d2bb607e6b2e0f26ce5">Scalar</a> u, DenseIndex order=DerivativeOrder) const</td></tr>
<tr class="memdesc:a401666a79915d8b1c336bd89557a7202"><td class="mdescLeft">&#160;</td><td class="mdescRight">Evaluation of spline derivatives of up-to given order.  <a href="classEigen_1_1Spline.html#a401666a79915d8b1c336bd89557a7202">More...</a><br /></td></tr>
<tr class="separator:a401666a79915d8b1c336bd89557a7202"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae1a672f60c87840ad2efbea6afc2442e"><td class="memItemLeft" align="right" valign="top"><a id="ae1a672f60c87840ad2efbea6afc2442e"></a>
const <a class="el" href="classEigen_1_1Spline.html#a7dcb414ba9d2ff74031f5179d9844a4e">KnotVectorType</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1Spline.html#ae1a672f60c87840ad2efbea6afc2442e">knots</a> () const</td></tr>
<tr class="memdesc:ae1a672f60c87840ad2efbea6afc2442e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the knots of the underlying spline. <br /></td></tr>
<tr class="separator:ae1a672f60c87840ad2efbea6afc2442e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a15d8f85af634fc85d640369189d4083e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classEigen_1_1Spline.html#a93f2d23a7e85e61a5367a52a37f030ce">PointType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1Spline.html#a15d8f85af634fc85d640369189d4083e">operator()</a> (<a class="el" href="classEigen_1_1Spline.html#ad8de21b38f173d2bb607e6b2e0f26ce5">Scalar</a> u) const</td></tr>
<tr class="memdesc:a15d8f85af634fc85d640369189d4083e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the spline value at a given site \(u\).  <a href="classEigen_1_1Spline.html#a15d8f85af634fc85d640369189d4083e">More...</a><br /></td></tr>
<tr class="separator:a15d8f85af634fc85d640369189d4083e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8fa2ad1f7ddf1eaf83464a87cce49e9d"><td class="memItemLeft" align="right" valign="top">DenseIndex&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1Spline.html#a8fa2ad1f7ddf1eaf83464a87cce49e9d">span</a> (<a class="el" href="classEigen_1_1Spline.html#ad8de21b38f173d2bb607e6b2e0f26ce5">Scalar</a> u) const</td></tr>
<tr class="memdesc:a8fa2ad1f7ddf1eaf83464a87cce49e9d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the span within the knot vector in which u is falling.  <a href="classEigen_1_1Spline.html#a8fa2ad1f7ddf1eaf83464a87cce49e9d">More...</a><br /></td></tr>
<tr class="separator:a8fa2ad1f7ddf1eaf83464a87cce49e9d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a93eb998cff41b5884213f78aa9d6649a"><td class="memItemLeft" align="right" valign="top"><a id="a93eb998cff41b5884213f78aa9d6649a"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1Spline.html#a93eb998cff41b5884213f78aa9d6649a">Spline</a> ()</td></tr>
<tr class="memdesc:a93eb998cff41b5884213f78aa9d6649a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a (constant) zero spline. For Splines with dynamic degree, the resulting degree will be 0. <br /></td></tr>
<tr class="separator:a93eb998cff41b5884213f78aa9d6649a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a04202d6fa1b719bd7ce8c34d11e1e148"><td class="memTemplParams" colspan="2">template&lt;typename OtherVectorType , typename OtherArrayType &gt; </td></tr>
<tr class="memitem:a04202d6fa1b719bd7ce8c34d11e1e148"><td class="memTemplItemLeft" align="right" valign="top">&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classEigen_1_1Spline.html#a04202d6fa1b719bd7ce8c34d11e1e148">Spline</a> (const OtherVectorType &amp;<a class="el" href="classEigen_1_1Spline.html#ae1a672f60c87840ad2efbea6afc2442e">knots</a>, const OtherArrayType &amp;<a class="el" href="classEigen_1_1Spline.html#a5d2ad0ae36a74b9ee6c47565fee46d5d">ctrls</a>)</td></tr>
<tr class="memdesc:a04202d6fa1b719bd7ce8c34d11e1e148"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a spline from a knot vector and control points.  <a href="classEigen_1_1Spline.html#a04202d6fa1b719bd7ce8c34d11e1e148">More...</a><br /></td></tr>
<tr class="separator:a04202d6fa1b719bd7ce8c34d11e1e148"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5e16e295e48eb9b242937615c5894286"><td class="memTemplParams" colspan="2">template&lt;int OtherDegree&gt; </td></tr>
<tr class="memitem:a5e16e295e48eb9b242937615c5894286"><td class="memTemplItemLeft" align="right" valign="top">&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classEigen_1_1Spline.html#a5e16e295e48eb9b242937615c5894286">Spline</a> (const <a class="el" href="classEigen_1_1Spline.html">Spline</a>&lt; <a class="el" href="classEigen_1_1Spline.html#ad8de21b38f173d2bb607e6b2e0f26ce5">Scalar</a>, <a class="el" href="classEigen_1_1Spline.html#ab50275acd78bf11cc06256177ef85fc5a0d75f96e8f63dd03e0f3faba93080b9a">Dimension</a>, OtherDegree &gt; &amp;spline)</td></tr>
<tr class="memdesc:a5e16e295e48eb9b242937615c5894286"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy constructor for splines.  <a href="classEigen_1_1Spline.html#a5e16e295e48eb9b242937615c5894286">More...</a><br /></td></tr>
<tr class="separator:a5e16e295e48eb9b242937615c5894286"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:ac42ec47147bdd9578d55928d0988ae2c"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classEigen_1_1Spline.html#ac09bd329bef9ad9037b64783c76dc0ed">BasisDerivativeType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1Spline.html#ac42ec47147bdd9578d55928d0988ae2c">BasisFunctionDerivatives</a> (const <a class="el" href="classEigen_1_1Spline.html#ad8de21b38f173d2bb607e6b2e0f26ce5">Scalar</a> u, const DenseIndex order, const DenseIndex <a class="el" href="classEigen_1_1Spline.html#a099e9ac2cfbba7fc880e1e89081bd3cf">degree</a>, const <a class="el" href="classEigen_1_1Spline.html#a7dcb414ba9d2ff74031f5179d9844a4e">KnotVectorType</a> &amp;<a class="el" href="classEigen_1_1Spline.html#ae1a672f60c87840ad2efbea6afc2442e">knots</a>)</td></tr>
<tr class="memdesc:ac42ec47147bdd9578d55928d0988ae2c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the non-zero spline basis function derivatives up to given order.  <a href="classEigen_1_1Spline.html#ac42ec47147bdd9578d55928d0988ae2c">More...</a><br /></td></tr>
<tr class="separator:ac42ec47147bdd9578d55928d0988ae2c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad73da31fc6a112763c392e02422f5c48"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classEigen_1_1Spline.html#abe7f040ac7b8cc85a397e2fbc70bbe00">BasisVectorType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1Spline.html#ad73da31fc6a112763c392e02422f5c48">BasisFunctions</a> (<a class="el" href="classEigen_1_1Spline.html#ad8de21b38f173d2bb607e6b2e0f26ce5">Scalar</a> u, DenseIndex <a class="el" href="classEigen_1_1Spline.html#a099e9ac2cfbba7fc880e1e89081bd3cf">degree</a>, const <a class="el" href="classEigen_1_1Spline.html#a7dcb414ba9d2ff74031f5179d9844a4e">KnotVectorType</a> &amp;<a class="el" href="classEigen_1_1Spline.html#ae1a672f60c87840ad2efbea6afc2442e">knots</a>)</td></tr>
<tr class="memdesc:ad73da31fc6a112763c392e02422f5c48"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the spline's non-zero basis functions.  <a href="classEigen_1_1Spline.html#ad73da31fc6a112763c392e02422f5c48">More...</a><br /></td></tr>
<tr class="separator:ad73da31fc6a112763c392e02422f5c48"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a68fbc57ca471069789801fea000a0c90"><td class="memItemLeft" align="right" valign="top"><a id="a68fbc57ca471069789801fea000a0c90"></a>
static DenseIndex&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1Spline.html#a68fbc57ca471069789801fea000a0c90">Span</a> (typename SplineTraits&lt; <a class="el" href="classEigen_1_1Spline.html">Spline</a> &gt;::<a class="el" href="classEigen_1_1Spline.html#ad8de21b38f173d2bb607e6b2e0f26ce5">Scalar</a> u, DenseIndex <a class="el" href="classEigen_1_1Spline.html#a099e9ac2cfbba7fc880e1e89081bd3cf">degree</a>, const typename SplineTraits&lt; <a class="el" href="classEigen_1_1Spline.html">Spline</a> &gt;::<a class="el" href="classEigen_1_1Spline.html#a7dcb414ba9d2ff74031f5179d9844a4e">KnotVectorType</a> &amp;<a class="el" href="classEigen_1_1Spline.html#ae1a672f60c87840ad2efbea6afc2442e">knots</a>)</td></tr>
<tr class="memdesc:a68fbc57ca471069789801fea000a0c90"><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the span within the provided knot vector in which u is falling. <br /></td></tr>
<tr class="separator:a68fbc57ca471069789801fea000a0c90"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Member Typedef Documentation</h2>
<a id="ad8de21b38f173d2bb607e6b2e0f26ce5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad8de21b38f173d2bb607e6b2e0f26ce5">&#9670;&nbsp;</a></span>Scalar</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Scalar_ , int Dim_, int Degree_&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">typedef Scalar_ <a class="el" href="classEigen_1_1Spline.html">Eigen::Spline</a>&lt; Scalar_, Dim_, Degree_ &gt;::<a class="el" href="classEigen_1_1Spline.html#ad8de21b38f173d2bb607e6b2e0f26ce5">Scalar</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>The spline curve's scalar type. </p>

</div>
</div>
<h2 class="groupheader">Member Enumeration Documentation</h2>
<a id="ab50275acd78bf11cc06256177ef85fc5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab50275acd78bf11cc06256177ef85fc5">&#9670;&nbsp;</a></span>anonymous enum</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Scalar_ , int Dim_, int Degree_&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">anonymous enum</td>
        </tr>
      </table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="ab50275acd78bf11cc06256177ef85fc5a0d75f96e8f63dd03e0f3faba93080b9a"></a>Dimension&#160;</td><td class="fielddoc"><p>The spline curve's dimension. </p>
</td></tr>
</table>

</div>
</div>
<a id="a0f458c828ffa7648c08825923a835c9d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0f458c828ffa7648c08825923a835c9d">&#9670;&nbsp;</a></span>anonymous enum</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Scalar_ , int Dim_, int Degree_&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">anonymous enum</td>
        </tr>
      </table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a0f458c828ffa7648c08825923a835c9daec63218a96e23a30a26dc839c1d757e1"></a>Degree&#160;</td><td class="fielddoc"><p>The spline curve's degree. </p>
</td></tr>
</table>

</div>
</div>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a04202d6fa1b719bd7ce8c34d11e1e148"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a04202d6fa1b719bd7ce8c34d11e1e148">&#9670;&nbsp;</a></span>Spline() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Scalar_ , int Dim_, int Degree_&gt; </div>
<div class="memtemplate">
template&lt;typename OtherVectorType , typename OtherArrayType &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classEigen_1_1Spline.html">Eigen::Spline</a>&lt; Scalar_, Dim_, Degree_ &gt;::<a class="el" href="classEigen_1_1Spline.html">Spline</a> </td>
          <td>(</td>
          <td class="paramtype">const OtherVectorType &amp;&#160;</td>
          <td class="paramname"><em>knots</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const OtherArrayType &amp;&#160;</td>
          <td class="paramname"><em>ctrls</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Creates a spline from a knot vector and control points. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">knots</td><td>The spline's knot vector. </td></tr>
    <tr><td class="paramname">ctrls</td><td>The spline's control point vector. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a5e16e295e48eb9b242937615c5894286"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5e16e295e48eb9b242937615c5894286">&#9670;&nbsp;</a></span>Spline() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Scalar_ , int Dim_, int Degree_&gt; </div>
<div class="memtemplate">
template&lt;int OtherDegree&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classEigen_1_1Spline.html">Eigen::Spline</a>&lt; Scalar_, Dim_, Degree_ &gt;::<a class="el" href="classEigen_1_1Spline.html">Spline</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classEigen_1_1Spline.html">Spline</a>&lt; <a class="el" href="classEigen_1_1Spline.html#ad8de21b38f173d2bb607e6b2e0f26ce5">Scalar</a>, <a class="el" href="classEigen_1_1Spline.html#ab50275acd78bf11cc06256177ef85fc5a0d75f96e8f63dd03e0f3faba93080b9a">Dimension</a>, OtherDegree &gt; &amp;&#160;</td>
          <td class="paramname"><em>spline</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Copy constructor for splines. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">spline</td><td>The input spline. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="ac42ec47147bdd9578d55928d0988ae2c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac42ec47147bdd9578d55928d0988ae2c">&#9670;&nbsp;</a></span>BasisFunctionDerivatives()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Scalar_ , int Dim_, int Degree_&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">SplineTraits&lt; <a class="el" href="classEigen_1_1Spline.html">Spline</a>&lt; Scalar_, Dim_, Degree_ &gt; &gt;::<a class="el" href="classEigen_1_1Spline.html#ac09bd329bef9ad9037b64783c76dc0ed">BasisDerivativeType</a> <a class="el" href="classEigen_1_1Spline.html">Eigen::Spline</a>&lt; Scalar_, Dim_, Degree_ &gt;::BasisFunctionDerivatives </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classEigen_1_1Spline.html#ad8de21b38f173d2bb607e6b2e0f26ce5">Scalar</a>&#160;</td>
          <td class="paramname"><em>u</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const DenseIndex&#160;</td>
          <td class="paramname"><em>order</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const DenseIndex&#160;</td>
          <td class="paramname"><em>degree</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classEigen_1_1Spline.html#a7dcb414ba9d2ff74031f5179d9844a4e">KnotVectorType</a> &amp;&#160;</td>
          <td class="paramname"><em>knots</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Computes the non-zero spline basis function derivatives up to given order. </p>
<p>The function computes </p><p class="formulaDsp">
\begin{align*} \frac{d^i}{du^i} N_{i,p}(u), \hdots, \frac{d^i}{du^i} N_{i+p+1,p}(u) \end{align*}
</p>
<p> with i ranging from 0 up to the specified order.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">u</td><td>Parameter \(u \in [0;1]\) at which the non-zero basis function derivatives are computed. </td></tr>
    <tr><td class="paramname">order</td><td>The order up to which the basis function derivatives are computes. </td></tr>
    <tr><td class="paramname">degree</td><td>The degree of the underlying spline </td></tr>
    <tr><td class="paramname">knots</td><td>The underlying spline's knot vector. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a4efb72a9640724ccc934bf70adc1153c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4efb72a9640724ccc934bf70adc1153c">&#9670;&nbsp;</a></span>basisFunctionDerivatives() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Scalar_ , int Dim_, int Degree_&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">SplineTraits&lt; <a class="el" href="classEigen_1_1Spline.html">Spline</a>&lt; Scalar_, Dim_, Degree_ &gt;, DerivativeOrder &gt;::<a class="el" href="classEigen_1_1Spline.html#ac09bd329bef9ad9037b64783c76dc0ed">BasisDerivativeType</a> <a class="el" href="classEigen_1_1Spline.html">Eigen::Spline</a>&lt; Scalar_, Dim_, Degree_ &gt;::basisFunctionDerivatives </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classEigen_1_1Spline.html#ad8de21b38f173d2bb607e6b2e0f26ce5">Scalar</a>&#160;</td>
          <td class="paramname"><em>u</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">DenseIndex&#160;</td>
          <td class="paramname"><em>order</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Computes the non-zero spline basis function derivatives up to given order. </p>
<p>The function computes </p><p class="formulaDsp">
\begin{align*} \frac{d^i}{du^i} N_{i,p}(u), \hdots, \frac{d^i}{du^i} N_{i+p+1,p}(u) \end{align*}
</p>
<p> with i ranging from 0 up to the specified order.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">u</td><td>Parameter \(u \in [0;1]\) at which the non-zero basis function derivatives are computed. </td></tr>
    <tr><td class="paramname">order</td><td>The order up to which the basis function derivatives are computes. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a4bbd1e5972b459ef5e994611ad2a2fea"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4bbd1e5972b459ef5e994611ad2a2fea">&#9670;&nbsp;</a></span>basisFunctionDerivatives() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Scalar_ , int Dim_, int Degree_&gt; </div>
<div class="memtemplate">
template&lt;int DerivativeOrder&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">SplineTraits&lt;<a class="el" href="classEigen_1_1Spline.html">Spline</a>,DerivativeOrder&gt;::<a class="el" href="classEigen_1_1Spline.html#ac09bd329bef9ad9037b64783c76dc0ed">BasisDerivativeType</a> <a class="el" href="classEigen_1_1Spline.html">Eigen::Spline</a>&lt; Scalar_, Dim_, Degree_ &gt;::basisFunctionDerivatives </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classEigen_1_1Spline.html#ad8de21b38f173d2bb607e6b2e0f26ce5">Scalar</a>&#160;</td>
          <td class="paramname"><em>u</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">DenseIndex&#160;</td>
          <td class="paramname"><em>order</em> = <code>DerivativeOrder</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Computes the non-zero spline basis function derivatives up to given order. </p>
<p>The function computes </p><p class="formulaDsp">
\begin{align*} \frac{d^i}{du^i} N_{i,p}(u), \hdots, \frac{d^i}{du^i} N_{i+p+1,p}(u) \end{align*}
</p>
<p> with i ranging from 0 up to the specified order.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">u</td><td>Parameter \(u \in [0;1]\) at which the non-zero basis function derivatives are computed. </td></tr>
    <tr><td class="paramname">order</td><td>The order up to which the basis function derivatives are computes. Using the template version of this function is more efficieent since temporary objects are allocated on the stack whenever this is possible. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="aeaec16e89270af47114e685289ff10a1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aeaec16e89270af47114e685289ff10a1">&#9670;&nbsp;</a></span>basisFunctions()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Scalar_ , int Dim_, int Degree_&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">SplineTraits&lt; <a class="el" href="classEigen_1_1Spline.html">Spline</a>&lt; Scalar_, Dim_, Degree_ &gt; &gt;::<a class="el" href="classEigen_1_1Spline.html#abe7f040ac7b8cc85a397e2fbc70bbe00">BasisVectorType</a> <a class="el" href="classEigen_1_1Spline.html">Eigen::Spline</a>&lt; Scalar_, Dim_, Degree_ &gt;::basisFunctions </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classEigen_1_1Spline.html#ad8de21b38f173d2bb607e6b2e0f26ce5">Scalar</a>&#160;</td>
          <td class="paramname"><em>u</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Computes the non-zero basis functions at the given site. </p>
<p>Splines have local support and a point from their image is defined by exactly \(p+1\) control points \(P_i\) where \(p\) is the spline degree.</p>
<p>This function computes the \(p+1\) non-zero basis function values for a given parameter value \(u\). It returns </p><p class="formulaDsp">
\begin{align*} N_{i,p}(u), \hdots, N_{i+p+1,p}(u) \end{align*}
</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">u</td><td>Parameter \(u \in [0;1]\) at which the non-zero basis functions are computed. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="ad73da31fc6a112763c392e02422f5c48"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad73da31fc6a112763c392e02422f5c48">&#9670;&nbsp;</a></span>BasisFunctions()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Scalar_ , int Dim_, int Degree_&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classEigen_1_1Spline.html">Spline</a>&lt; Scalar_, Dim_, Degree_ &gt;::<a class="el" href="classEigen_1_1Spline.html#abe7f040ac7b8cc85a397e2fbc70bbe00">BasisVectorType</a> <a class="el" href="classEigen_1_1Spline.html">Eigen::Spline</a>&lt; Scalar_, Dim_, Degree_ &gt;::BasisFunctions </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classEigen_1_1Spline.html#ad8de21b38f173d2bb607e6b2e0f26ce5">Scalar</a>&#160;</td>
          <td class="paramname"><em>u</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">DenseIndex&#160;</td>
          <td class="paramname"><em>degree</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classEigen_1_1Spline.html#a7dcb414ba9d2ff74031f5179d9844a4e">KnotVectorType</a> &amp;&#160;</td>
          <td class="paramname"><em>knots</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns the spline's non-zero basis functions. </p>
<p>The function computes and returns </p><p class="formulaDsp">
\begin{align*} N_{i,p}(u), \hdots, N_{i+p+1,p}(u) \end{align*}
</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">u</td><td>The site at which the basis functions are computed. </td></tr>
    <tr><td class="paramname">degree</td><td>The degree of the underlying spline. </td></tr>
    <tr><td class="paramname">knots</td><td>The underlying spline's knot vector. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a0d44b217fc9517d0f572e9b8e40b3df6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0d44b217fc9517d0f572e9b8e40b3df6">&#9670;&nbsp;</a></span>derivatives() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Scalar_ , int Dim_, int Degree_&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">SplineTraits&lt; <a class="el" href="classEigen_1_1Spline.html">Spline</a>&lt; Scalar_, Dim_, Degree_ &gt;, DerivativeOrder &gt;::DerivativeType <a class="el" href="classEigen_1_1Spline.html">Eigen::Spline</a>&lt; Scalar_, Dim_, Degree_ &gt;::derivatives </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classEigen_1_1Spline.html#ad8de21b38f173d2bb607e6b2e0f26ce5">Scalar</a>&#160;</td>
          <td class="paramname"><em>u</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">DenseIndex&#160;</td>
          <td class="paramname"><em>order</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Evaluation of spline derivatives of up-to given order. </p>
<p>The function returns </p><p class="formulaDsp">
\begin{align*} \frac{d^i}{du^i}C(u) &amp; = \sum_{i=0}^{n} \frac{d^i}{du^i} N_{i,p}(u)P_i \end{align*}
</p>
<p> for i ranging between 0 and order.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">u</td><td>Parameter \(u \in [0;1]\) at which the spline derivative is evaluated. </td></tr>
    <tr><td class="paramname">order</td><td>The order up to which the derivatives are computed. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a401666a79915d8b1c336bd89557a7202"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a401666a79915d8b1c336bd89557a7202">&#9670;&nbsp;</a></span>derivatives() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Scalar_ , int Dim_, int Degree_&gt; </div>
<div class="memtemplate">
template&lt;int DerivativeOrder&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">SplineTraits&lt;<a class="el" href="classEigen_1_1Spline.html">Spline</a>,DerivativeOrder&gt;::DerivativeType <a class="el" href="classEigen_1_1Spline.html">Eigen::Spline</a>&lt; Scalar_, Dim_, Degree_ &gt;::derivatives </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classEigen_1_1Spline.html#ad8de21b38f173d2bb607e6b2e0f26ce5">Scalar</a>&#160;</td>
          <td class="paramname"><em>u</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">DenseIndex&#160;</td>
          <td class="paramname"><em>order</em> = <code>DerivativeOrder</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Evaluation of spline derivatives of up-to given order. </p>
<p>The function returns </p><p class="formulaDsp">
\begin{align*} \frac{d^i}{du^i}C(u) &amp; = \sum_{i=0}^{n} \frac{d^i}{du^i} N_{i,p}(u)P_i \end{align*}
</p>
<p> for i ranging between 0 and order.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">u</td><td>Parameter \(u \in [0;1]\) at which the spline derivative is evaluated. </td></tr>
    <tr><td class="paramname">order</td><td>The order up to which the derivatives are computed. Using the template version of this function is more efficieent since temporary objects are allocated on the stack whenever this is possible. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a15d8f85af634fc85d640369189d4083e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a15d8f85af634fc85d640369189d4083e">&#9670;&nbsp;</a></span>operator()()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Scalar_ , int Dim_, int Degree_&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classEigen_1_1Spline.html">Spline</a>&lt; Scalar_, Dim_, Degree_ &gt;::<a class="el" href="classEigen_1_1Spline.html#a93f2d23a7e85e61a5367a52a37f030ce">PointType</a> <a class="el" href="classEigen_1_1Spline.html">Eigen::Spline</a>&lt; Scalar_, Dim_, Degree_ &gt;::operator() </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classEigen_1_1Spline.html#ad8de21b38f173d2bb607e6b2e0f26ce5">Scalar</a>&#160;</td>
          <td class="paramname"><em>u</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns the spline value at a given site \(u\). </p>
<p>The function returns </p><p class="formulaDsp">
\begin{align*} C(u) &amp; = \sum_{i=0}^{n}N_{i,p}P_i \end{align*}
</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">u</td><td>Parameter \(u \in [0;1]\) at which the spline is evaluated. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The spline value at the given location \(u\). </dd></dl>

</div>
</div>
<a id="a8fa2ad1f7ddf1eaf83464a87cce49e9d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8fa2ad1f7ddf1eaf83464a87cce49e9d">&#9670;&nbsp;</a></span>span()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Scalar_ , int Dim_, int Degree_&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">DenseIndex <a class="el" href="classEigen_1_1Spline.html">Eigen::Spline</a>&lt; Scalar_, Dim_, Degree_ &gt;::span </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classEigen_1_1Spline.html#ad8de21b38f173d2bb607e6b2e0f26ce5">Scalar</a>&#160;</td>
          <td class="paramname"><em>u</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns the span within the knot vector in which u is falling. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">u</td><td>The site for which the span is determined. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="Spline_8h_source.html">Spline.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="namespaceEigen.html">Eigen</a></li><li class="navelem"><a class="el" href="classEigen_1_1Spline.html">Spline</a></li>
    <li class="footer">Generated on Thu Apr 21 2022 13:08:00 for Eigen-unsupported by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.9.1 </li>
  </ul>
</div>
</body>
</html>
